Method and system for facilitating secure electronic transactions with multiple merchants

ABSTRACT

A system for conducting electronic commerce comprising at least one client computer system, a vendor computer system and a merchant computer system, interconnected via the communication link. The client computer and the vendor computer system are configured to establishing a secure link communication between the client computer system and the vendor computer system and transmit transaction information between the client and vendor computer systems enabling a user at the client computer system to select and purchase, via the vendor computer system, items listed in at least the merchant computer systems by one or more merchants.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to user shopping for goods and servicesacross a network, such as the Internet.

2. Background Art

Communication networks such as the Internet provide an unprecedentedchannel for commerce. Internet based network systems such as the WorldWide Web (“Web”) are configured as a logical construct comprisinginterconnected routers and computers (e.g., servers), wherein therouters direct packets of information from source computers todestination computers over an underlying transmission network. Becauseof its expanse and accessibility, the Web is increasingly utilized as ameans of commerce for items (e.g., goods and services) listed indatabases on web-servers world wide. In many Web applications, lists ofitems for purchase are collected on web-servers for access and viewingby end-users computer systems. A user typically utilizes a personalcomputer or a terminal to establish a connection with Web-servers ofseveral merchants through the Internet, searches the Web-servers forlisted items, and transacts business with the merchants by electing topurchase desired items on-line and arranging for payment. The purchaseditems are then sent to the user by the merchants via delivery methodssuch as mail.

However, the above process is inefficient and complicated as a userwishing to purchase items listed by different merchants has to navigatefrom one merchant server to another merchant server to select items forpurchase and arrange for delivery. Another disadvantage is that user hasto arrange for payments, and make payments to, multiple merchants. Insome instances, the user is required to send different checks to thedifferent merchants for the amounts due before the merchants send thepurchased items to the user. This is time consuming as the user has towrite multiple checks. And, paper-based checking systems are burdensome,inconvenient, costly and time consuming for both users and financialinstitutions. Further, frequently the user has to wait until themerchants cash the checks before the purchased items are shipped, addingto the inherent delays associated with processing checks. To alleviatethese problems, some conventional systems utilize electronic checks orfunds transfer by a process of value exchange through banks' computertransactions. However, such electronic payment methods are limitedbecause they cannot be performed without the banking system, andtypically cannot be performed during off business hours.

As a result of the difficulties associated with users typically resortto credit cards as a means of electronic funds transfer for purchasingitems over the Internet. However, many users with credit cards areconcerned about providing their credit card and personal informationover the Internet for shopping. And, the credit card information has tobe transmitted to multiple merchants from whom a user wishes to purchaseitems.

SUMMARY OF THE INVENTION

The present invention alleviates the above problems. In one embodiment,the present invention provides a method and system for secure electroniccommerce transactions with multiple merchants through a vendor using asingle integrated payment procedure.

A network system includes at least one client computer system, a vendorcomputer system, and merchant computer systems, interconnected via acommunication link. In one example, the present invention enables a userto conduct electronic commerce by initiating a secure communicationsession between the client computer system and the vendor computersystem. Once the secure communication session is established the usertransmits transaction information between the client and vendor computersystems enabling the user, residing at the client computer system, toselect and purchase, via the vendor computer system, items listed in atleast the merchant computer systems by one or more merchants.

After the user's selection of one or more items for purchase from one ormore merchant computer systems via the primary server computer, apurchase order is generated for the selected items to be supplied to theuser by one or more merchants. The vendor operator of the vendorcomputer system may make payments to one or more merchants for thesupplied items. The user may make payments to said vendor for thesupplied items.

As a result, such, the user submits the various purchase orders todifferent merchants, and makes only a single payment to the vendor. Thevendor settles payments with the various merchants on behalf of theuser.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other features, aspects and advantages of the presentinvention may be better understood with regard to the followingdescription, appended claims and accompanying drawings where:

FIG. 1 illustrates block diagram of an embodiment of the inventionutilizing a network system in which the present invention can beimplemented;

FIG. 2 illustrates an example flow diagram of an embodiment of theinvention utilized to conduct electronic commerce;

FIGS. 3-6, show example GUIs and user interaction with a client andserver computer;

FIG. 7 is a block diagram that illustrates how one embodiment of theinvention interacts with a user browser on a client computer, a vendorcomputer system and merchant computer system;

FIG. 8 is a block diagram that illustrates how a vendor computer systemmay be implemented by one embodiment of the invention;

FIG. 9 is a block diagram that illustrates the process engine utilizedin the vendor computer system by one embodiment of the invention; and

FIG. 10 illustrates the steps performed by the process engine in oneembodiment of the invention.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1 illustrates a block diagram of an example architecture of anembodiment of a computer system 100 in which the present invention canbe implemented. The computer system 100 comprises computer system 101connected to server computing systems 130, 131. A computer system 101comprises a bus 102 or other communication mechanism for communicatinginformation, and a processor (CPU) 104 coupled with the bus 102 forprocessing information. The computer system 101 also includes a mainmemory 106, such as a random access memory (RAM) or other dynamicstorage device, coupled to the bus 102 for storing information addinstructions to be executed by the processor 104. The main memory 106also may be used for storing temporary variables or other intermediateinformation during execution or instructions to be executed by theprocessor 104. The computer system 101 further comprises a read onlymemory (ROM) 108 or other static storage device coupled to the bus 102for storing static information and instructions for the processor 104. Astorage device 110, such as a magnetic disk or optical disk, is providedand coupled to the bus 102 for storing information and instructions. Thebus 102 may contain, for example, thirty-two address lines foraddressing video memory or main memory 106. The bus 102 may alsocontain, for example, a 32-bit data bus for transferring data betweenand among the components, such as the CPU 104, the main memory 106,video memory and the storage 110. Alternatively, multiplex data/addresslines may be used instead of separate data and address lines.

In one embodiment, the CPU 104 comprises a microprocessor manufacturedby Motorola®, such as the 680×0 processor or a microprocessormanufactured by Intel®, such as the 80×86, or Pentium® processor, or aSPARC® microprocessor from Sun Microsystems®. However, any othersuitable microprocessor or microcomputer may be utilized. The mainmemory 106 can comprise dynamic random access memory (DRAM). And videomemory (not shown) can comprise a dual-ported video random accessmemory.

The computer system 101 may be coupled via the bus 102 to a display 112,such as a cathode ray tube (CRT) or Liquid Crystal Display (LCD), fordisplaying information to a computer user. An input device 114,including alphanumeric and other keys, is coupled to the bus 102 forcommunicating information and command selections to the processor 104.Another type or user input device comprises cursor control 116, such asa mouse, a trackball, or cursor direction keys for communicatingdirection information and command selections to the processor 104 andfor controlling cursor movement on the display 112. This input devicetypically has two degrees of freedom in two axes, a first axis (e.g., x)and a second axis (e.g., y) that allows the device to specify positionsin a plane.

Each of the servers 130-133 comprising one or more computer systems suchas the computer system 101. According to one embodiment of theinvention, the processes of the present invention may be executedprovided by computer systems 101 (e.g., within the servers 130) inresponse to the processor 104 executing one or more sequences of one ormore instructions contained in the main memory 106. Such instructionsmay be read into the main memory 106 from another computer-readablemedium, such as the storage device 110. Execution of the sequences ofinstructions contained in the main memory 106 causes the processor 104to perform the process steps described herein. One or more processors ina multi-processing arrangement may also be employed to execute thesequence of instructions contained in the main memory 106. Hard-wiredcircuitry may also be used in place of or in combination with softwareinstructions to implement one embodiment of the present invention. Thus,embodiments of the invention are not limited to any specific combinationof hardware circuitry and software.

The term “computer-readable medium” as used herein refers to any mediumthat participated in providing instructions to the processor 104 forexecution. Such a medium may non-volatile media, volatile media, andtransmission media. Non-volatile media includes, for example, optical ormagnetic disks, such as the storage device 110. Volatile media includesdynamic memory, such as the main memory 106. Transmission media includescoaxial cables, copper wire and fiber optics, including the wires thatcomprise the bus 102. Transmission media can also take the form ofacoustic or light waves, such as those generated during radio wave andinfrared data communications.

Common forms of computer-readable media include, for example, a floppydisk, a flexible disk, hard disk, magnetic tape, or any other magneticmedium, a CD-ROM, any other optical medium, punch cards, paper tape, anyother physical medium with patterns of holes, a RAM, a PROM, an EPROM, aFLASH-EPROM, any other memory chip or cartridge, a carrier wave, or anyother medium from which a computer can read.

Various forms of computer readable media may be involved in carrying oneor more sequences of one or more instructions to the processor 104 forexecution. For example, the instructions may initially be carried on amagnetic disk of a remote computer. The remote computer can load theinstructions into its dynamic memory and send the instructions over atelephone line using a modem. A modem local to the computer system 101can receive the data on the telephone line and use an infraredtransmitter to convert the data to an infrared signal. An infrareddetector coupled to the bus 102 can receive the data carried in theinfrared signal and place the data on the bus 102. The bus 102 carriesthe data to the main memory 106, from which the processor 104 retrievesand executes the instructions. The instructions received from the mainmemory 106 may optionally be stored on the storage device 110 eitherbefore or after execution by the processor 104.

The computer system 101 also includes a communication interface 118coupled to bus 102. The communication interface 118 provides a two-waydata communication coupling to a network link 120 that is connected to alocal network 122. For example, the communication interface 118 may bean integrated services digital network (ISDN) card or a modem to providea data communication connection to a corresponding type of telephoneline, which can comprise part of the network link 120. As anotherexample, the communication interface 118 may be a local area network(LAN) card configured to provide a data communication connection to acompatible LAN. Wireless links may also be implemented. In any suchimplementation, the communication interface 118 sends and receiveselectrical electromagnetic or optical signals that carry digital datastreams representing various types of information.

The network link 120 typically provides data communication through oneor more networks to other data devices. For example, the network link120 may provide a connection through the local network 122 to a hostcomputer 124 or to data equipment operated by an Internet ServiceProvider (ISP) 126. The ISP 126 in turn provides data communicationservices through the world wide packet data communication network nowcommonly referred to as the “Internet” 128. The local network 122 andthe Internet 128 both use electrical, electromagnetic or optical signalsthat carry digital data streams. The signals through the variousnetworks and the signals on the network link 120 and through thecommunication interface 118, which carry the digital data to and fromthe computer system 101, are exemplary forms or carrier wavestransporting the information.

The computer system 101 can send messages and receive data, includingprogram code, through the network(s), the network link 120 and thecommunication interface 118. In the Internet example, servers 130-133can transmit a requested code for an application program through theInternet 128, the ISP 126, the local network 122 and the communicationinterface 118.

The communication interface 118 can comprise a USB/Tuner and the networklink 120 may be an antenna or cable for connecting the computer system101 to a cable provider, satellite provider or other terrestrialtransmission system for receiving messages, data and program code fromanother source.

The received code may be executed by the processor 104 as it isreceived, and/or stored in the storage device 110, or other non-volatilestorage for later execution. In this manner, the computer systems 101can obtain application code in the form of a carrier wave.

The example versions of the invention described herein are implementedas logical operations in a distributed processing system such as thenetwork system 100 including client computing systems 101 and servercomputing systems 130, 131. The logical operations of the presentinvention can be implemented as a sequence of steps executing on thecomputing network 100, and as interconnected machine modules within thecomputing network 100. The implementation is a matter of choice and candepend on performance of the network 100 implementing the invention. Assuch, the logical operations constituting the example versions of theinvention are referred to for e.g. as operations, steps or modules.

In one embodiment of the invention, the computer systems 101 compriseclient computers capable of running graphical user interfaces such asbrowsers and a server system 130 comprises a vendor computer system(e.g., vendor web servers). Further the server systems 131 comprisemerchant computer systems (e.g., merchant web servers). Conductingelectronic commerce on the network system 100 according to oneembodiment of the present invention comprises establishing a securecommunication between the client computer system 101 and the vendorcomputer system 130 and transmitting transaction information between theclient and vendor computer systems 101, 130. The secure communicationlink may be established using either asymmetric or symmetric encryptiontechniques such as RSA, DES, or any other encryption or hashingtechnique that is capable of providing a secure communication link. Thesystem then enables a user at the client computer system 101 to selectand purchase, via the vendor computer system 130, items listed in atleast the merchant computer systems 131 by one or more merchants.Further the user can select and purchase items listed at the vendorcomputer system 130 by a vendor.

The system 100 provides a method for achieving secure electroniccommerce transactions by a user/customer by utilizing the Internet or anIntranet communication network. The system 100 enables a user to conductelectronic commerce transactions via a primary vendor web site at aserver 130 using a single integrated payment procedure, wherein thevendor web site can include a list of items comprising, for example,products and/or services offered for sale by the vendor. Further, theprimary vender web site can provide the user, via the vendor web site atthe server 130, access to multiple merchant web pages at servers 131,wherein the merchant web pages comprise a list of items offered for saleby the merchants.

FIG. 2 illustrates how one embodiment of the present invention conductselectronic commerce. The user utilizes a GUI such as a commerciallyavailable browser software at a client computer 101 to communicate witha vendor web server 130 (step 200), whereby a vendor web site home webpage is displayed to the user on the client computer 101 (step 202). Theuser then downloads a secure communication software module (e.g., aplug-in) by clicking on an appropriate button displayed on the vendor'shome page at the client computer 101, unless the user has alreadypreviously downloaded the secure communication software (step 204). Thesecure communication software allows the user to conduct secureelectronic commerce transactions with the vendor using the vendorcomputer system 130 and to transmit credit card or other payment meansinformation over the communication medium in the system 100 to thevendor computer system 130.

The user is now able to select items for purchase that are listed by thevendor in the vendor web site at the server 130, as well as items listedby merchants that have displayed their interface links on the vendor'swebsite (step 206). An interface link may comprise a hyperlink, acommand button, or any other embedded item that may transmit a commandto the vendor server. When the user clicks on a specific merchant'sinterface button, the user is not directed to the merchant's web server131 for direct interaction between the client computer 101 and themerchant web server 131. Instead, the user continues to utilize thevendor's home page (web site) at the vendor computer system 130, and thevendor's web server 130 utilizes a command processing engine to providethe merchant's home web page, as well as any other web pages, to thevendor's web site in the vendor computer system 130. Thus, the vendor'sweb server may obtain content from the merchant server that is thenpresented for display by the vendor server to the user at the browser inthe client computer 101 (step 208). In one embodiment of the invention,the command processing engine uses one or more communication protocol(s)to establish a communication link between the vendor's web server andthe merchant's web server. The merchant server comprises a merchantcommunication interface that is configured to respond to calls and/orrequests for information from the command processing engine. Forexample, the command processing engine may initiate calls and/or requestdata from the merchant server in order to obtain information displayedon the merchant's web page or residing on the merchant server. Thus, inone embodiment of the invention the command processing engine mayinterfaces with one or more merchant servers via the merchantcommunication interface.

The merchant server may, for example, use an Application ProgramInterface (API) to offer the vendor server's command processing engineaccess to the merchant server's content. Thus the API, or any othermechanism capable of offering the vendor server access to servicesoffered by the merchant server, may provide the vendor server withaccess to data residing on one or more merchant servers. The commandprocessing engine sends calls to the communication interface to passdata between the merchant server(s) and the vendor server(s) and therebyprovide the vendor server(s) with a list of features offered by themerchant server.

In one embodiment of the invention, the merchant server provides aninterface (e.g., an API, SDK, daemon process, distributed objects,JINI™, etc. . . . ) that specifies what data and/or service(s) thevendor server may access. The vendor server is not typically allowedaccess to the merchant server until an authentication process iscompleted. However, if the vendor server and the merchant server belongto a trusted environment or if the merchant and/or vendor elect to offercertain types of data to all requesting parties, the merchant server maynot require authentication.

The communication mechanism that resides on one or more of the merchantservers may be configured to provide the vendor server with access to alist of items and/or services offered by the merchant server. The vendorserver may also be allowed to access payment information, order status(e.g., what item/service was sold, return status, delivery status),accounting information, inventory status, and/or any other data and/orservices associated with the transactions that are to be performed. Themerchant server does not require that all the data and/or servicesoffered by the merchant server be offered to the vendor server via thecommunication interface. For example, the merchant server may elect toonly offer the vendor server data associated with a particular itemand/or type of transaction. One embodiment of the invention contemplatesusing the communication interface to provide the vendor server withaccess to any data that is related to or associated with any item orservice that is being offered for sale by the vendor, but that issupplied by the merchant.

During the process described above the vendor's web server 130 canmonitor the information traffic between the user and the merchant's webserver 131 therethrough (step 210). After reviewing the web pages of themerchant and selecting listed items therein for purchase (step 212), apurchase order is generated for the selected items by web server 130,and the vendor web server 130 tracks and captures that purchase order(step 214). In one embodiment of the invention, no user credit card, orother payment, information is transferred to the merchants' web server131, rather the vendor computer system 130 processes all the paymentinformation (step 216).

Thereafter, the vendor computer system 130 transmits the user's purchaseorder to the merchant's web server (step 218). The user pays the vendorfor the items (step 220), and the vendor pays each merchant for theitems shipped to the user according to terms of an agreement between thevendor and each merchant (step 222). At step 224, the merchants ship thepurchased items to the user. As such, the user submits the variouspurchase orders to different merchants, and makes only a single paymentto the vendor and vendor settles payments with the various merchants.The vendor web server 130 stores transaction information including allthe user information, purchase order information, merchant informationand payment information in a database for subsequent audit purposes.

In one example embodiment of the invention, a vendor utilizes a vendorweb site at a server 130 to list items for sale by the vendor. Further,the vendor utilizes a centralized web browser at the server 130 to allowusers to make purchases in other merchant's web sites such asAmazon.com™, CD-Now™, etc on merchant servers 131, directly from thevendor's web site at the vendor computer system 130, thereby enablingthe vendor to be a wholesaler of the merchants' products and services.

Referring to FIGS. 3-6, a sequence of example events and interactionswith browsers 300 and web pages 302 on the client and server computers101, 130, respectively, in the network 100 by a user for conductingelectronic commerce according to an aspect of the present invention isprovided.

For example, once a user visits a vendor's web site at a server 130(e.g. http://www.stamps.com) to purchase items listed therein (e.g.,postage), the vendor obtains the necessary information regarding theuser in a database to provide online shopping from other merchant websites on the server 131 on the Internet. The vendor's web site home page302 can include icons 304 for different merchants such as Stamps.com™,or other Vendors™ etc., wherein a user who clicks on icons 304 maysearch, select and purchase any of the products sold by said merchantsas though the user had directly navigated to the merchants' web sites onserver 131 to buy the merchants' products/services. According to thepresent invention, throughout the transaction process the user neverleaves the vendor's web site at the server 130 and thereby the vendorplaces orders for user selected products to the merchants selling thoseproducts, on behalf of the user, and the products are shipped directlyto the user by the merchants. In one example, searching for productsfrom a merchant via the server 130 is provided by merchant's searchcapabilities on the merchant server 131.

As shown in FIG. 3, the users click on the merchant icons 304 on thevendor home page 302, and as shown in FIG. 4 the merchant web pages 306at server 131 are displayed on browser 300 which resides at clientcomputer 101 via server 130. The user searches/chooses the items 308 tobuy from the merchant web page 306. As shown in FIG. 5, the user placesthe order for the selected items that he/she wants to buy. The vendorplaces the order to the respective merchant. The user will not have toregister with the merchant for this purpose, as the order will be placedby the vendor on behalf of the user. As shown in FIG. 6, the user isonce again taken back to the vendor's home page 302.

Referring to FIGS. 7-10, example functional/architectural block diagramsfor system/software enabling the above process is described. As shown inFIG. 7, vendor computer system 130 captures the information trafficbetween a merchant site at server 131 and user browser 300 at the clientcomputer 101 via vendor computer system 130. The traffic is routedthrough vendor computer system 140 for control over the user actions.Server 130 acts as a proxy between the user client computer 101 and themerchant server 131. As such, the user first clicks on the merchant iconon the GUI displayed on browser 300 at the client computer 101 by thevendor's web server 130. Server 130 fetches the merchant's web pagesfrom the server 131 for display to the user on client computer 101. Theuser searches/selects desired products for purchase from the displayedmerchant web pages. Server 130 then places orders for the selectedproducts to the merchant server 131 on behalf of the user. The order isconfirmed by the server 130 the vendor web site/pages are againdisplayed to the user on the client computer 101 for additional userinteraction.

Referring to FIG. 8, in one embodiment the server 130 comprises HTTPserver component capable of handling traffic between the users browserat the client computers 101 and the respective merchants' sites at theserver 131 via the server 130. Server 130 may comprise the followingmodules: (1) Browser Agent 250, (2) Server Agent 252, (3) Process Engine254, (4) Merchant Data Base (DB) 256, and (5) Member Data Base (DB) 258.FIG. 8 shows example interaction between these modules.

The Browser Agent 250 module comprises HTTP compliant listener at theserver 130 waiting for HTTP requests from the user's browser at theclient computer 101. The Browser Agent 250 receives HTTP requests fromthe user's browser 300 and forwards them to the Server Agent 252 forprocessing and thereafter forwards the processed response from theProcess Engine 254 back to the user's browser 300.

The Server Agent module 252 forwards the HTTP requests from the BrowserAgent 250 to the merchant's site at the server 131. The Server Agent 252processes all responses from the merchant HTTP server 131. The responsefrom the merchant server 131 is passed back to the Process Engine 254 bythe Server Agent 252.

Referring to FIG. 9, in one embodiment of the invention, the ProcessEngine 254 includes an HTML Parser module 260 and HTML Processor module262. The Process Engine 254 receives the HTTP responses form the ServerAgent 252, processes them and sends the processed response back to theBrowser Agent 250 to be forwarded to the User's browser 300. The HTMLParser 260 parses the HTML response/page (generated by the server 131)from the Server Agent 252 and breaks it into different atomic units linkHyperLinks, Actions, ImageLinks, etc. The HTML Parser 260 splits thepage into a structure with the different elements of the HTML page. TheHTML Processor 262 includes a search/replace module which scans all HTMLParser generated structural elements, and makes necessary modificationsto the elements. The HTML Processor 262 then re-constitutes the HTMLpage with the new changes and forwards the new page to the Browser Agent250. In the process of making said modifications, the HTML Processor 262also interacts with the MerchantDB 256 and Member/user DB 258.

The MerchantDB 256 comprises detailed information about the Merchants'web sites such as Merchant Name, Merchant Start Page URL, MerchantShopping Page URL, Cookie information, etc. The Process Engine 254interacts with the MerchantDB 256 to access said merchant specificinformation for processing the HTML responses from the merchant server131. The MemberDB 258 comprises details about various users, such asUser's name, address, billing address, shipping address, Credit Carddetails, etc. This information is accessed by the Process Engine 254near the end of the shopping process, i.e., while vendor places ordersto the merchants.

In a conventional HTTP transaction, the user's browser 300 at the clientcomputer 101 sends a request for a page directly to a merchant server131 and the merchant server 131 responds to the browser request byeither sending the requested page back to the browser 300 at the clientcomputer 101 or performing an appropriate action requested by thebrowser. According to an embodiment of the present invention, however,all the traffic between the user's browser 300 at the client computer101 and merchant's server 131 is routed through the vendor computersystem 130.

The following includes example steps in processing a single HTTPrequest:

-   1. User's browser 300 at the client computer 101 sends an HTTP    request to the BrowserAgent 250 at the server 130;-   2. The Browser Agent 250 forwards the request to the ServerAgent    252;-   3. The ServerAgent 252 sends the request to a merchant's server 131;-   4. The merchant's server 131 sends an HTML response (HTML page) to    the ServerAgent 252;-   5. The HTML response from the merchants server 131 is sent to the    Process Engine 254;-   6. The Process Engine 254 processes the HTML response by performing    steps including:    -   6.1. Parsing the HTML response;    -   6.2. Replacing all the HTML links on the HTML page so that the        links are routed through the vendor computer system 130;    -   6.3 Replacing all the HTML POST, GET requests to be routed        through the vendor computer system 130;    -   6.4 Using the information available in the MerchantDB 256 and        making appropriate changes to the HTML;    -   6.5. Using the information available in the MemberDB 258,        automating the process of placing an order, registering a user        (member) with a merchant, etc.;-   7. The process Engine 254 then sends the modified HTML response back    to the Browser Agent 250; and-   8. The Browser Agent 250 sends the modified HTML response back to    the User's Browser 300 for display to the user at the client    computer 101.

FIG. 10 provides an example flowchart that illustrates for the operationof the Process Engine 254. Upon receiving an incoming request from auser browser 300, the process engine 254 determines the user, merchant,etc. in the request (step 400). The process engine 254 then determinesif the request is a purchase order (step 402). If not, the processengine 254 sends the request to the server 131 of the merchant specifiedin the request, and receives a response from the merchant server 131(step 404). If in step 402, the request was a purchase order, theprocess engine frames the order request, fills in the necessaryinformation from the merchant and member data bases, send the order tothe merchant server 131, and obtains a response from the merchant server131 (step 406).

In either steps 404 or 406, upon receiving response from the merchantserver 131, the process engine 254 parses the response and breaks itinto atomic components as described above (step 408). The process engine254 modifies all hyperlinks in the response HTML page to be routed tothe vendor computer system 130, and modifies all the forms to be routedto the vendor computer system 130 (step 410). The process engine 254then frames the HTML response page with the changes to be sent to theuser's browser 300 (step 412).

The 130 server can have different embodiments including a standaloneserver, or an add-in to a standard web server. In the latter case, theserver 140 can comprise a CGI program, a ISAPI component, a servlet,etc.

Although the present invention has been described in considerable detailwith regard to the preferred versions thereof, other versions arepossible. Therefore, the appended claims should not be limited to thedescriptions of the preferred versions contained herein.

1. A method for providing secure, indirect electronic commercetransactions between a user and multiple merchants comprising:establishing a secure communication link between at least one clientcomputer system and a vendor computer system; transmitting transactioninformation to said client computer system from said vendor computersystem enabling a user at said client computer system to select forpurchase, via said vendor computer system, items listed in a pluralityof merchant computer systems without said user having direct access tosaid merchant computer systems; receiving at said vendor computer systema first request from a client computer system concerning an item listedon a first of said merchant computer systems; modifying at said vendorcomputer system said first request from said client computer system tosaid vendor computer system into a modified request from said vendorcomputer system to said merchant computer system; sending said modifiedrequest from said vendor computer system to said merchant computersystem; receiving at said vendor computer system from said firstmerchant computer system a first response to said modified request, saidfirst response comprising a merchant web page comprising one or morehyper-text links to said merchant computer system; modifying saidmerchant web page at said vendor computer system into a modified webpage; wherein said modifying said merchant web page comprises: replacingsaid one or more hyper-text links to said merchant computer system insaid merchant web page with one or more hyper-text links to said vendorcomputer system in said modified web page; and sending said modified webpage from said vendor computer system to said client computer system. 2.The method of claim 1, wherein said transmitting step further comprises:generating a purchase order for said item after said user's selection ofsaid item for purchase via said vendor computer system.
 3. The method ofclaim 2, further comprising: obtaining payment from said user; andtransmitting payment to said first merchant on behalf of said user. 4.The method of claim 3, wherein said payment is obtained by an operatorof said vendor computer system.
 5. The method of claim 1, wherein saidstep of transmitting transaction information further comprises:displaying one or more icons corresponding to said plurality ofmerchants at said client computer for user selection; providing alisting of said items listed in said merchant computer system to saiduser at said client system computer via said vendor computer system, inresponse to said user selection of at least one of said one or moreicons.
 6. A method for performing secure, indirect electronic commercebetween a user and multiple merchants comprising: establishing a securecommunication link between a client computer system and a vendorcomputer system; transmitting transaction information to said clientcomputer system from said vendor computer system enabling a user at saidclient computer system to obtain, via said vendor computer system, itemslisted in a plurality of merchant computer systems by one or moremerchants without said user having direct access to said merchantcomputer systems; monitoring at said vendor computer system requestsfrom said client computer system for information regarding at least oneof said listed items; requesting by said vendor computer systemtransaction information regarding said at least one of said listed itemsfrom at least one of said merchant computer systems; modifying at saidvendor computer system a response comprising a merchant web pageregarding said at least one of said listed items received by said vendorcomputer system from said at least one of said merchant computersystems; wherein said modifying said response comprises: modifying saidmerchant web page into a modified web page by replacing one or morehyper-text elements in said merchant web page comprising links to saidat least one of said merchant computer systems with one or morehyper-text elements comprising links to said vendor computer system insaid modified web page; and sending said modified web page from saidvendor computer system to said client computer for display to said user.7. The method of claim 6, further comprising: generating a purchaseorder for said at least one of said listed items.
 8. The method of claim7, wherein said vendor computer system forwards payment to said at leastone of said merchant computer systems for said at least one of saidlisted items on behalf of said user.
 9. The method of claim 8, whereinsaid user makes payment to said vendor for said at least one of saidlisted items.
 10. The method of claim 6, further comprising: displayinga merchant icon associated with at least one of said one or moremerchants at said client computer system for selection by said user; andin response to said selection by said user of said merchant icon,providing a list of items from at least one of said plurality ofmerchant computer systems to said user at said client computer systemvia said vendor computer system.
 11. The method of claim 1, wherein saidstep of modifying said merchant web page occurs automatically.
 12. Themethod of claim 6, wherein said step of modifying responses occursautomatically.
 13. A vendor computer system having computer readableprogram code embodied therein for implementing a vendor server to enablesecure, indirect electronic commerce between a user at a client computersystem and one or more merchant servers, said program code configured toperform at least the steps of: establishing a secure communication linkbetween a client computer system and a vendor server; transmittingtransaction information to said client computer system from said vendorserver enabling a user at said client computer system to select forpurchase, via said vendor server, items listed in a plurality ofmerchant servers without said user having direct access to said merchantservers; receiving at said vendor server a first request from a clientcomputer system concerning an item listed on a first of said merchantservers; modifying at said vendor server said first request from saidclient computer system to said vendor server into a modified requestfrom said vendor server to said merchant server; sending said modifiedrequest from said vendor server to said merchant server; obtaining bysaid vendor server merchant content comprising a merchant web page foritems listed for sale from said merchant server; modifying said merchantweb page at said vendor server into a modified web page by replacinghyper-text links to said merchant server in said merchant web page withhyper-text links to said vendor server in said modified web page;sending said modified web page from said vendor server to said clientcomputer system for presentation to said user.
 14. The vendor computersystem of claim 13, wherein said step of obtaining said merchant contentcomprises: receiving at said vendor server a user request from saidclient computer system; modifying at said vendor server said userrequest into a vendor request to said merchant server; transmitting saidvendor request from said vendor server to said merchant server; andreceiving at said vendor server from said merchant server a responsecomprising said merchant content.
 15. The vendor computer system ofclaim 14, wherein said step of receiving said user request at saidvendor server comprises receiving information for identifying saidmerchant server from a plurality of possible merchant servers.
 16. Thevendor computer system of claim 14, wherein said user request is anorder request, and said step of modifying said user request into avendor request to said merchant server comprises inserting vendorinformation into said order request.
 17. The vendor computer system ofclaim 14, wherein said user request is one of: a search request; anorder request; and a selection request.
 18. A secure electronic commercesystem, comprising: means for establishing a secure communication linkbetween a client computer system and a vendor server; means fortransmitting transaction information to said client computer system fromsaid vendor server enabling a user at said client computer system toselect for purchase, via said vendor server, items listed in a pluralityof merchant servers without said user having direct access to saidmerchant servers; means for receiving at said vendor server a firstrequest from a client computer system concerning an item listed on afirst of said merchant servers; means for modifying at said vendorserver said first request from said client computer system to saidvendor server into a modified request from said vendor server to saidmerchant server; means for sending said modified request from saidvendor server to said merchant server; means for obtaining merchantcontent comprising a merchant web page from said merchant server; meansfor facilitating the purchase by a user at said client computer systemof items from said merchant server comprising: means at said vendorserver for creating a modified web page by replacing hyperlinks to saidmerchant server in said merchant web page with hyperlinks to said vendorserver in said modified web page; and means for sending said modifiedweb page from said vendor server to said client computer system forpresentation to said user.